package com.jms.framework.beans.factory;

/**
 * ObjectFactory接口是用于创建和管理对象的工厂接口
 * 它定义了获取对象实例及其类型的方法
 * @author JMS
 * @since 20250123
 * @version 1.0.0
 *
 * @param <T> 泛型参数，表示工厂生产的对象类型
 */
public interface ObjectFactory<T> {
    /**
     * 获取对象实例的方法
     *
     * @return 返回一个泛型类型的对象实例
     * @throws Exception 如果对象创建过程中发生错误，则抛出异常
     */
    T getObject() throws Exception;

    /**
     * 获取对象类型的方法
     *
     * @return 返回对象的Class类型
     * @throws Exception 如果无法获取对象类型，则抛出异常
     */
    Class<?> getObjectType() throws Exception;
}
